package com.yonyou.cyxdms.sysAuth.service.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yonyou.cyx.function.utils.bean.BeanMapperUtil;
import com.yonyou.cyxdms.framework.bean.dto.base.DMSBaseDTO;
import com.yonyou.cyx.framework.bean.entity.base.BasePO;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * <p>
 * 附件信息表
 * </p>
 *
 * @author quankk
 * @since 2019-07-05
 */

public class FileUploadInfoDTO extends DMSBaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 附件上传ID
     */
    @ApiModelProperty(value = "附件上传ID")
        private Integer fileUploadInfoId;
    @ApiModelProperty(value = "AppId")
            private String AppId;
        /**
     * 附件类型
     */
        @ApiModelProperty(value = "附件类型")
        private Integer billType;
        /**
     * 大，中，小
     */
        @ApiModelProperty(value = "大，中，小")
        private Integer fileSize;
        /**
     * 附件URL
     */
        @ApiModelProperty(value = "附件URL")
        private String fileId;
        /**
     * 主单单据ID
     */
        @ApiModelProperty(value = "主单单据ID")
        private Integer billId;
        /**
     * 有效，无效
     */
        @ApiModelProperty(value = "有效，无效")
        private Integer isValid;
        /**
     * 文件类型明细
     */
        @ApiModelProperty(value = "文件类型明细")
        private Integer fileTypeDetail;
        /**
     * 附件文件名称
     */
        @ApiModelProperty(value = "附件文件名称")
        private String fileName;
    /**
     * 版本记录号
     */
    @ApiModelProperty(value = "版本记录号")
    private Integer recordVersion;
    /**
     * CREATED_BY
     */
    @ApiModelProperty(value = "创建人")
    private String createdBy;

    /**
     * CREATED_AT
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createdAt;

    /**
     * UPDATED_BY
     */
    @ApiModelProperty(value = "修改人")
    private String updatedBy;

    /**
     * UPDATED_AT
     */
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updatedAt;
            private Boolean isDeleted;
    
    public FileUploadInfoDTO() {
        super();
    }




    public Integer getFileUploadInfoId() {
        return fileUploadInfoId;
    }


    public void setFileUploadInfoId(Integer fileUploadInfoId) {
        this.fileUploadInfoId = fileUploadInfoId;
    }


    public String getAppId() {
        return AppId;
    }

    public void setAppId(String appId) {
        AppId = appId;
    }

    public Integer getRecordVersion() {
        return recordVersion;
    }

    public void setRecordVersion(Integer recordVersion) {
        this.recordVersion = recordVersion;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Integer getBillType() {
        return billType;
    }


    public void setBillType(Integer billType) {
        this.billType = billType;
    }



    public Integer getFileSize() {
        return fileSize;
    }


    public void setFileSize(Integer fileSize) {
        this.fileSize = fileSize;
    }



    public String getFileId() {
        return fileId;
    }


    public void setFileId(String fileId) {
        this.fileId = fileId;
    }



    public Integer getBillId() {
        return billId;
    }


    public void setBillId(Integer billId) {
        this.billId = billId;
    }



    public Integer getIsValid() {
        return isValid;
    }


    public void setIsValid(Integer isValid) {
        this.isValid = isValid;
    }



    public Integer getFileTypeDetail() {
        return fileTypeDetail;
    }


    public void setFileTypeDetail(Integer fileTypeDetail) {
        this.fileTypeDetail = fileTypeDetail;
    }



    public String getFileName() {
        return fileName;
    }


    public void setFileName(String fileName) {
        this.fileName = fileName;
    }



    public Boolean getDeleted() {
        return isDeleted;
    }


    public void setDeleted(Boolean isDeleted) {
        this.isDeleted = isDeleted;
    }


    @Override
    public String toString() {
        return "FileUploadInfoDTO{" +
                "fileUploadInfoId=" + fileUploadInfoId +
                ", AppId='" + AppId + '\'' +
                ", billType=" + billType +
                ", fileSize=" + fileSize +
                ", fileId='" + fileId + '\'' +
                ", billId=" + billId +
                ", isValid=" + isValid +
                ", fileTypeDetail=" + fileTypeDetail +
                ", fileName='" + fileName + '\'' +
                ", recordVersion=" + recordVersion +
                ", createdBy='" + createdBy + '\'' +
                ", createdAt=" + createdAt +
                ", updatedBy='" + updatedBy + '\'' +
                ", updatedAt=" + updatedAt +
                ", isDeleted=" + isDeleted +
                '}';
    }

    /**
     * 将DTO 转换为PO
     * //对某个对象属性进行赋值
     * //BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     * @param poClass dto 需要转换的dto
     * @author quankk
     * @since 2018/7/22 0022
     */
    @Override
    public <T extends BasePO> T transDtoToPo(Class<T> poClass) {
        return super.transDtoToPo(poClass);
    }

    /**
     * 将DTO 转换为PO
     * BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     * @param po 需要转换的对象
     * @author quankk
     * @since 2018/7/22 0022
     */
    public <T extends BasePO> void transDtoToPo(T po) {
        BeanMapperUtil.copyProperties(this, po, "fileUploadInfoId");
    }

}
